Set-top boxes and other clients are typically manufactured to include software to operate the client, such as to perform actions that may include changing a channel, causing a television program to be recorded, and so on. This software is typically installed as a disk image on the client by a manufacturer of the client, which is generally configured as a computer file that includes the code and supporting data used by the code to perform the actions.
The client may then be distributed to end consumers, such as household users. In some instances, however, the client is not delivered directly to the end consumers, but rather is delivered to an intermediary. For example, a network operator of a television system may obtain set-top boxes from the manufacturer, which are then subsequently sold or rented to the end consumers. Before the sale or rental of the set-top box to the end consumers, the network operator may wish to customize the set-top box, such as by reconfiguring menus and other elements that are to be displayed in a user interface.
Traditional techniques that were used to manufacture the set-top box (and in particular the use of the disk image), however, may make such customization a daunting task. For example, customization of a traditional set-top box may require an understanding of the underlying code of the set-top box by the network operator to make changes to that code. Further, the implementation of such customization may be resource intensive, both to implement and to make subsequent changes after the client has been deployed by the end consumers.